1. Field of the Invention
The present invention relates to generation of a test driver, and more particularly, to an apparatus and method for generating a test driver used to test units for architecture design and verification.
2. Discussion of Related Art
Generally, in designing a software system, an architecture model in the form of a block diagram or a component diagram is produced, and the software system is divided into components according to the architecture model. The entire software system operates through interaction between the components.
The architecture model uses various architectural styles for a project. In every architectural style, connections between components that may be software modules are generally represented by interfaces that can give and receive messages.
Typical unit testing methods employ a waterfall technique and an evolutionary technique.
In the waterfall technique, testing is done through a typical development process. This method includes making and analyzing a request, designing a system, coding, final testing, and distributing. However, in this waterfall technique, it is difficult to identify potential problems early on because final testing is only performed once a system is complete.
To address this drawback, the evolutionary technique was introduced. The evolutionary technique implements, tests and modifies a system on a module by module basis. This technique has the advantage of preventing errors in advance by initially designing a test computer aided software engineering (CASE). That is, since this technique performs testing with a utility such as a unit test framework, a developer can check whether a system is being correctly developed as the development proceeds.
Apparatuses and methods for generating a test driver for an architecture test and verification through unit testing based on such an evolutionary technique have been proposed.
For example, U.S. Pat. No. 5,799,266, entitled “Automatic Generation of Test Drivers,” is directed to reducing the burden of test case programming by generating a test driver code based on a test specification.
In this disclosure, a test driver generator receives a test equation with an attribute value corresponding to a sequence of executing test functions for a software interface and attribute values of test parameters, and generates a test driver that can perform all combinations of selected parameter attribute values of the test functions according to an order of the specified test functions.
U.S. Pat. No. 6,353,897, entitled “Object Oriented Apparatus and Method for Testing Object Oriented Software,” is directed to a framework for testing in an object oriented programming environment.
In this disclosure, an abstract test driver class and a test case class are defined. Each test driver is made as an extension of the test driver class and each test case is made as an extension of the test case class. When an instance of the test driver class is executed, a test case to be executed is determined in advance and an execution result is reported.
Further, U.S. Pat. No. 6,243,835, entitled “Test Specification Generation System and Storage Medium Storing a Test Specification Generation Program,” is directed to generation of a test specification with a repository of design information entered during a design process to increase operation efficiency of a testing process.
In this disclosure, a data analysis device reads statements written to a test set file on a line by line basis, and then a test item determination device determines a feature of a test item. Specifically, a first test item generation device generates a test item based on information obtained from a design information table with a design information reading device, and a second test item generation device generates a test item from a standard test item file. A test specification writing device outputs fixed output lines and test items generated by the first and second test item generation devices to generate a test specification file.
However, since the apparatus and method for generating a test driver based on the evolutionary technique generates the test driver by means of a given test specification, there is an initial difficulty in designing the test case. Thus, under-skilled developers may experience great difficulty in unit test production.
In addition, since an object oriented inheritance characteristic is used to test a unit, it is up to developers to directly develop software to be tested and provide an environment that can execute codes of a number of test cases. This can be a considerably tedious task.